from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

import time
driver = webdriver.Chrome()
# 打开浏览器
driver.get('https://www.baidu.com/')
# 浏览器最大化
driver.maximize_window()
# 浏览器最小化
# driver.minimize_window()
#退出浏览器
# time.sleep(2)
# driver.quit()
# 获取页面title
# print(driver.title)
"""
隐式等待： driver.implicitly_wait(15)
等全篇的元素加载出来以后，再去做操作。
只需要声明一次，后续的加载都受用

如果超出了规定的秒数，则抛出异常
"""
# driver.implicitly_wait(15)


"""
自动化测试用例1：
1、输入selenium
2、点击搜索
3、点击出现的第一个链接
"""
# 1、输入selenium
"""
强制等待： time.sleep(2)
代码运行至此，强制等待几秒
"""
# time.sleep(2)
# driver.find_element(By.NAME,"wd").send_keys("selenium")
"""
显示等待：WebDriverWait(driver,总的描述,轮询频率).until()

在规定的总秒数内，每个一个频率去查找元素，找不到则抛出异常
"""
WebDriverWait(driver,10,0.5).until(ec.presence_of_element_located((By.NAME,"wd"))).send_keys("selenium")


# 2、点击搜索
# time.sleep(2)
# driver.find_elements(By.CLASS_NAME,'bg')[1].click()
WebDriverWait(driver,10,0.5).until(ec.presence_of_all_elements_located((By.CLASS_NAME,'bg')))[1].click()


# 3、点击出现的第一个链接 //*[@id="content_left"]/div[3]/div/div/div/div/div[1]/div/div/h3/div/a
# time.sleep(2)
# driver.find_element(By.XPATH,'//*[@id="content_left"]/div[3]/div/div/div/div/div[1]/div/div/h3/div/a').click()
WebDriverWait(driver,10,0.5).until(ec.presence_of_element_located((By.XPATH,'//*[@id="content_left"]/div[3]/div/div/div/div/div[1]/div/div/h3/div/a'))).click()






